The present invention pertains to a preprocessor for spectral pattern classification systems and the like. In general, spectral pattern classification systems are systems which classify spectral patterns, such as the frequency spectra of sounds or electromagnetic energy from various sources. Different categories of spectra may be defined in advance so that as a spectrum is received from each source it can be compared to the defined categories and properly classified.
A prior art method of obtaining the spectra from a desired source is to provide a plurality of samples of the source and take the discrete Fourier transform of the samples. Many fast versions of the discrete Fourier transform exist (e.g., the Cooley-Tukey, Winograd, Prime Factor, etc. algorithms), all of which produce the same result and are generally included in the term discrete Fourier transform. Two major problems exist with respect to the power spectrum obtained by means of the discrete Fourier transform. The first problem is that the values making up the spectra depend to an undersirable degree on the phase of the samples of the signal to be classified. The second problem is that the power spectrum derived from two sources that appear to be very similar (i.e., look similar on a spectrum analyzer) do not necessarily lie near one another in spectrum space. As an example, if the spectral patterns being classified are due to sounds coming from two difference sources, the power spectra may not be close to one another even though the sounds come from sources that sound almost alike. This situation might exist, for example, as the result of a modest amount of Doppler shift of one signal relative to the other.